package fr.afcepf.atod18.commande.dao;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import fr.afcepf.atod18.commande.entity.Panier;
import fr.afcepf.atod18.commande.idao.IDaoPanier;
import fr.afcepf.atod18.restaurants.entity.TypeCuisine;

public class DaoPanier extends HibernateDaoSupport  implements IDaoPanier {

	@Override
	public void ajouter(Panier panier) {
		getHibernateTemplate().save(panier);
	}

	@Override
	public void modifier(Panier panier) {
		getHibernateTemplate().update(panier);
	}

	@Override
	public void supprimer(Panier panier) {
		getHibernateTemplate().delete(panier);
	}

	@Override
	public List<Panier> rechercherParId(int id) {
		System.out.println("hibernate template" + getHibernateTemplate());
		System.out.println("id panier "+ id);
		List<Panier> liste = getHibernateTemplate().findByNamedParam("Select  t from Panier t inner join fetch t.produitSelectionnes p inner join fetch p.produit where t.id like :id", "id", id);
		System.out.println("la liste retourne "+liste.size()+" r�sultats pour la recherche par id : "+id);
		return liste;

	}

	@Override
	public List<Panier> rechercherParNom(String libelle) {
		List<Panier> liste = getHibernateTemplate().findByNamedParam("Select  t from Panier t where t.libelle like :libelle", "libelle", libelle);
		System.out.println("la liste retourne "+liste.size()+" r�sultats pour la recherche par nom : "+libelle);
		return liste;
	}

	@Override
	public List<Panier> findAll(){
		return getHibernateTemplate().find("from Panier");

	}

	@Override
	public void deleteAll(List<Panier> liste){
		getHibernateTemplate().deleteAll(liste);
	}

}
